package com.IOC.beans;

/**
 * bean实例的别名CRUD接口（别名需要保证唯一性）
 */
public interface AliasRegistry {
    /**
     * 注册别名
     * @param name 实例名称
     * @param alias 实例别名
     */
    void registerAlias(String name, String alias);

    /**
     * 删除别名
     * @param alias 别名
     */
    void removeAlias(String alias);

    /**
     * 是否是别名
     * @param name 名称
     * @return 是或否
     */
    boolean isAlias(String name);

    /**
     * 获取实例原名
     * @param name 实例名称
     * @return 返回实例原名
     */
    String getOriginalName(String name);

    /**
     * 获取所有别名
     * @param name 实例名
     * @return 所有别名数组
     */
    String[] getAliases(String name);
}
